home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / turbovis / tvbugs20.zip / TVBUGS20.PAS < prev   
Pascal/Delphi Source File  |  1994-03-29  |  49KB  |  1,570 lines

  1.              Borland Turbo Vision (Pascal) Bug List
  2.                         Version 2.0
  3.  
  4.  
  5. Last Updated: 3/1/94
  6.  
  7. Maintained by: Brad Williams
  8.                bwilliams@marvin.ag.uidaho.edu
  9.  
  10.  
  11. *** This list is PASCAL TurboVision (TV) specific.  For a C++  
  12. specific buglist, see the file \turbo-vision\faq\tvbugs.cpp
  13. maintained by Marc Stern (stern@mble.philips.be) on the
  14. anonymous ftp site vtucs.cc.vt.edu.  Most bugs and fixes
  15. presented have been discussed on the listserv TurbVis or the
  16. Usenet group comp.os.msdos.programmer.turbovision.  For 
  17. compiler specific bugs, see the bug lists TP6BUGSx.ZIP and 
  18. BP7BUGSx.ZIP maintained by Duncan Murdoch 
  19. (dmurdoch@mast.QueensU.CA) on garbo.uwasa.fi in the 
  20. \pc\turbopas directory.  Many of the TV bugs and patches
  21. listed are converted from a list formerly maintained by Juergen
  22. Schlegelmilch.  Great appreciation for his prior efforts.
  23.  
  24. This list contains bug fixes and enhancements to the TV
  25. sources.  These enhancements are obviously subjective and rely
  26. most of the time on personal feelings of the posters about the
  27. look and feel of their applications.
  28.  
  29. *** This is an unofficial list and is not a substitute for
  30. *** Borland Technical or customer support which can be reached
  31. *** at 800-331-0877 for registered Borland product owners.
  32. *** Borland customer on-line service can be reached at
  33. ***
  34. ***           customer-support@borland.com
  35. ***
  36. *** Online technical support is not available.  Borland's
  37. *** internet address for reporting bugs is
  38. ***
  39. ***           bugs@borland.com
  40.  
  41. All submissions determined to be "true" bugs will be forwarded
  42. to Borland.  The maintainer of this list, the authors of bug
  43. fixes, and the vtucs.cc.vt.edu ftp site are not responsible for
  44. the reliability of any information presented in this document. 
  45.  
  46. *** Always make a backup of the source code file under a new
  47. *** name prior making any changes to the original file.
  48.  
  49. Send all comments about bugs you have discovered and any
  50. patches to the maintainer of this list or to the TurbVis
  51. listserv for discussion.  Please include a description of the
  52. problem you are having and a small section of source code which
  53. will duplicate the problem when compiled/run.  All suggestions
  54. for improvement of current patches are appreciated.
  55.  
  56. If you do not have Internet access, bugs and patches can be
  57. submitted through Duncan Murdoch at:
  58.  
  59.                CompuServe: 71631,122
  60.                Fidonet   : DJ Murdoch at 1:249/99.5
  61.  
  62. or directly by postal delivery to:
  63.  
  64.                Dr. Brad Williams
  65.                Research Office
  66.                University of Idaho
  67.                Moscow, Idaho 83844
  68.  
  69.  
  70. How to Use This List
  71. --------------------
  72. At the beginning of this list is an index of new
  73. problems/enhancements/questions or changes to old
  74. problems/enhancements/questions in reverse chronological order.
  75. This facilitates quick review for changes from previous
  76. additions.  Following is the list of
  77. problems/enhancements/questions about TV in topical order. 
  78. They are discussed and source code patches referenced where
  79. available. All source code patches in this file are placed at
  80. the end in alphabetic order according to the procedure,
  81. function, or object's name, then by individual object method.
  82. For example,
  83.  
  84.          AddToBuffer
  85.          TCollection.Init
  86.          TCollection.Load
  87.          TObject.Free
  88.          TProgram.Exec
  89.  
  90. If extensive files are required, the individual file will be
  91. referenced under the appropriate problem/enhancement/question. 
  92.  
  93. There are two possible methods for searching this document, by
  94. topic under the PROBLEMS/QUESTIONS section or by procedure,
  95. function, or object method name under the PATCHES section.  All
  96. PROBLEMS/QUESTIONS and PATCHES are cross-referenced.  If you do
  97. not find the topic/patch in one list, check the other.  If you
  98. still cannot find a solution look at the FAQ (TVPAS.FAQ) posted
  99. at this site.  If you still cannot determine a solution to your
  100. problem, post a message to the listserv TurbVis or Usenet group
  101. comp.os.msdos.programmer.turbovision.
  102.  
  103. ---------------------------------------------------------------
  104.        CHRONOLOGICAL INDEX OF CHANGES TO THIS DOCUMENT
  105. ---------------------------------------------------------------
  106. 4-1-94 - Version 2.1
  107.    Views - 8 deleted - patch not required
  108. 1-1-94 - Version 1.0 of this list
  109.    Collections - 1
  110.    Editors - 8, 9
  111.    Help - 4, 5
  112.    Menus - 1
  113.    Views - 4, 5, 6, 7, 8
  114.  
  115. 5-10-93 - First edition of this list
  116.    Drivers - 1
  117.    Editors - 1,2,3,4,5,6,7
  118.    Help - 1,2,3
  119.    Outlines - 1
  120.    Streams - 1
  121.    Views - 1,2,3
  122.    Windows - 1
  123.  
  124. ---------------------------------------------------------------
  125.              PROBLEMS / ENHANCEMENTS / QUESTIONS
  126. ---------------------------------------------------------------
  127. Collections
  128. -----------
  129. 1. Problem   : Program crashes when expanding a collection if a
  130.                heap error handler is installed to return Nil when
  131.                there is insufficient memory.
  132.    Version   : 1.0, 2.0
  133.    Type      : Bug
  134.    Reference : TCollection.SetLimit
  135.  
  136.    TCollection.SetLimit does not allow a NIL result after memory
  137.    allocation failures.   It assumes that if GetMem returns, then
  138.    it has succeeded.  It will copy the old items on top of the
  139.    interrupt vector table at 0:0 and the program crashes or hangs.
  140.  
  141.  
  142. Drivers
  143. -------
  144. 1. Problem   : Calling MoveBuf (unit Drivers) with an Attr
  145.                parameter of 0 would produce a corrupt draw
  146.                buffer.
  147.    Version   : 1.0
  148.    Type      : Bug
  149.    Reference : MoveBuf
  150.  
  151.    There is a STOSB instruction where a MOVSB should be.
  152.  
  153.  
  154. Editors
  155. -------
  156. 1. Problem: When TFileEditor is Loaded from a stream it gives
  157.             unusual codes in the edit window and sometimes
  158.             hangs the system.
  159.    Version: 1.0
  160.    Type   : Bug
  161.    Patch  : TFileEditor.InitBuffer
  162.  
  163.    TFileEditor.NewBuffer allocates 0 bytes, but does not set
  164.    BufSize to 0. If TFileEditor.Load loads a TFileEditor from a
  165.    stream,  BufSize is read from the stream, too, and has its
  166.    old value.  InitBuffer (called by TEditor.Load) ignores it,
  167.    so the content of the editor is loaded into memory, which
  168.    was never allocated -> the program will crash. So you can't
  169.    use TFileEditors, if you store and load the desktop.
  170.  
  171.  
  172. 2. Problem: When I try to "find" text in an editor window the
  173.             program crashes.
  174.    Version: 1.0
  175.    Type   : Bug
  176.    Patch  : IScan
  177.  
  178.    In this assembly-routine the programmer forgot that MOV
  179.    does not set the flags. If the search string nearly matches
  180.    the last chars in the text, the routine runs over the end of
  181.    the text -- eventually replacing text! Here is an example:
  182.    Let '123456' be the text, and search for '45z'.
  183.    The routine scans the text '1234' for the '4' and finds it:
  184.          123456
  185.             45z
  186.    Then it compares the rest, finds the difference and skips
  187.    this occurence. CX (number the chars left in the text) is
  188.    now 0, but the routine just MOVs it back from DX, jumping
  189.    then with JNE. Now it is behind the end of text!
  190.  
  191.  
  192. 3. Problem: All scroll bar events are "stolen" by TMemo when
  193.             used in a TDialog with any other view that has a
  194.             scroll bar.
  195.    Version: 1.0
  196.    Type   : Bug
  197.    Patch  : TEditor.HandleEvent
  198.  
  199.    This routine consumes all cmScrollBarChanged-events, without
  200.    testing the sender. With TEditor, everything is ok, but with
  201.    TMemo, there is a problem.  TMemo cannot coexist in a
  202.    TDialog with other objects having scrollbars. The test, whe-
  203.    ther a cmScrollBarChanged-event is from one of its own
  204.    scroll bars is done in the local procedure CheckScrollBar,
  205.    but the HandleEvent routine clears the event in any case.
  206.  
  207.  
  208. 4. Problem : Unpredictable results after insufficient memory
  209.              when overwriting text.
  210.    Version : 1.0
  211.    Type    : Bug
  212.    Patch   : TEditor.InsertBuffer
  213.  
  214.    Overwriting chars in an TEditor object is done in
  215.    TEditor.HandleEvent by marking the next char as block and
  216.    calling InsertBuffer via InsertText. This routine checks,
  217.    whether t